package io.jee.caisan.weixin.service;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import io.jee.alaska.util.Result;
import io.jee.caisan.weixin.domain.SysConfig;

public interface SysConfigService {

	/**
	 * 分页查询系统配置
	 * @param type
	 * @param pageable
	 * @return
	 */
	Page<SysConfig> findPage(String type, Pageable pageable);
	
	/**
	 * 新增系统配置
	 * @param sysConfig
	 * @return
	 */
	Result<SysConfig> add(SysConfig sysConfig);
	
	/**
	 * 修改系统配置
	 * @param sysConfig
	 * @return
	 */
	Result<SysConfig> update(SysConfig sysConfig);
	
	/**
	 * 批量删除系统配置
	 * @param ids
	 * @return
	 */
	Result<Void> delete(Integer[] ids);
	
	/**
	 * 修改系统配置启用状态
	 * @param id
	 * @return
	 */
	Result<Integer> updateEnable(Integer id, boolean enable);
	
	/**
	 * 根据类型取配置，有效数据的第一条
	 * @param type
	 * @return
	 */
	SysConfig findOneByType(Integer type);
}
